package com.css.zfzx.fxpg.modules.vulnerability.area.service;

import com.alibaba.fastjson.JSONObject;
import com.css.zfzx.fxpg.modules.vulnerability.area.repository.entity.FxVulnerabilityAreaEntity;
import com.css.zfzx.fxpg.modules.vulnerability.area.viewobjects.FxVulnerabilityAreaQueryParams;
import com.css.bpm.platform.sys.dict.repository.entity.DictItemEntity;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * @author leon
 * @date 2020-11-10
 */

public interface FxVulnerabilityAreaService {

    JSONObject queryFxVulnerabilityAreas(FxVulnerabilityAreaQueryParams queryParams, int curPage, int pageSize);

    FxVulnerabilityAreaEntity getFxVulnerabilityArea(String id);

    FxVulnerabilityAreaEntity saveFxVulnerabilityArea(FxVulnerabilityAreaEntity fxVulnerabilityArea);

    FxVulnerabilityAreaEntity updateFxVulnerabilityArea(FxVulnerabilityAreaEntity fxVulnerabilityArea);

    void updateFxVulnerabilityProvinceByArea(FxVulnerabilityAreaEntity fxVulnerabilityArea);


    void deleteFxVulnerabilityAreas(List<String> ids);

    List<DictItemEntity> getValidDictItemsByDictCode(String dictCode);

    String importExcel(MultipartFile file);

    void exportExcel(FxVulnerabilityAreaQueryParams queryParams, HttpServletResponse response);

    void saveOrUpdate(FxVulnerabilityAreaEntity areaEntity);

    List<FxVulnerabilityAreaEntity> listFxVulnerabilityAreas(FxVulnerabilityAreaQueryParams queryParams);

    void initialize();
}
